

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Create Properties [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Create,Create Attribute Properties,Attribute,Attribute Properties, Create,Element,Element Properties, As Attributes,Create Property Implementation Dialog,Code Language,Code Language Create Properties As Attributes,Language,Language Create Properties As Attributes,Get Function,Get Function Create As Attribute Property,Set Function,Set Function Create As Attribute Property,Dialog,Dialog Create Property Implementation">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Create Properties</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="attributetaggedvalues.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="displayinginheritedattribute.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_BodyText"><span class="f_BodyText">Enterprise Architect has capabilities for automatically creating properties in various languages. Property creation is controlled from the </span><span class="f_UIControl">General</span><span class="f_BodyText"> tab of the </span><span class="f_UIControl">Attribute</span><span class="f_BodyText"> dialog.</span></p>
<p class="p_TextIndentedL2"><img src="attributes-property.png" width="466" height="307" border="0" alt="Attributes-Property"></p>
<p class="p_BodyText"><span class="f_BodyText">Select the </span><span class="f_MenuKeyField">Property</span><span class="f_BodyText"> checkbox. The </span><span class="f_UIControl">Create Property Implementation</span><span class="f_BodyText"> dialog immediately displays.</span></p>
<p class="p_TextIndentedL2"><img src="attributes-language.png" width="516" height="216" border="0" alt="Attributes-Language"><span class="f_TextIndentedL1"> </span></p>
<p class="p_BodyText"><span class="f_BodyText">The </span><span class="f_UIControl">Language</span><span class="f_BodyText"> panel defaults to the Class language; however, you can change this and generate the properties for any language. Each language has slightly different syntax and generates slightly different results. For example:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Java and C++ generate </span><span class="f_Bulletlist1">get</span><span class="f_Bulletlist1"> and </span><span class="f_Bulletlist1">set</span><span class="f_Bulletlist1"> functions</span></li>
<li><span class="f_Bulletlist1">C# and VB.Net create property functions</span></li>
<li><span class="f_Bulletlist1">Delphi creates get and set functions as well as a specialized Delphi property Tagged Value.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">Type in the required details and click on the</span><span class="f_MenuKeyField"> OK</span><span class="f_BodyText"> button. Enterprise Architect generates the required operations and properties to comply with the selected language.</span></p>
<p class="p_BodyText"><span class="f_BodyText">Note that </span><span class="f_BodyText" style="font-style: italic;">get</span><span class="f_BodyText"> and </span><span class="f_BodyText" style="font-style: italic;">set</span><span class="f_BodyText"> functions are stereotypes with &laquo;</span><span class="f_BodyText" style="font-style: italic;">property get</span><span class="f_BodyText">&raquo; &laquo;</span><span class="f_BodyText" style="font-style: italic;">property set</span><span class="f_BodyText">&raquo; making it easy to recognize property functions. You can also hide these specialized functions by deselecting the </span><span class="f_MenuKeyField">Property Methods</span><span class="f_BodyText"> checkbox in the </span><span class="f_UIControl">Features</span><span class="f_BodyText"> tab of the </span><span class="f_UIControl">Diagram Properties</span><span class="f_BodyText"> dialog for a specific diagram (select the </span><span class="f_MenuKeyField">Diagram | Properties</span><span class="f_BodyText"> menu option). This makes it easier to view a Class, uncluttered by many </span><span class="f_BodyText" style="font-style: italic;">get</span><span class="f_BodyText"> and </span><span class="f_BodyText" style="font-style: italic;">set</span><span class="f_BodyText"> methods.</span></p>
<p class="p_TextIndentedL2"><img src="diagramoptionsfeaturestab.png" width="525" height="376" border="0" alt="DiagramOptionsFeaturesTab"></p>
<p class="p_BodyText"><span class="f_BodyText">Note that for Delphi you must enable the </span><span class="f_UIControl">Tagged Values</span><span class="f_BodyText"> compartment to see the generated properties. See <a href="compartments.htm">Compartments</a> for the steps for doing this.</span></p>




            </div>
          </div>
        </div>



</div>


</body>
</html>
